#include "BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.h"
#ifdef __cplusplus
extern "C" {
#endif
btMultiBodyDynamicsWorld* bullet_NewbtMultiBodyDynamicsWorld(btDispatcher* dispatcher,btBroadphaseInterface* pairCache,btMultiBodyConstraintSolver* constraintSolver,btCollisionConfiguration* collisionConfiguration){
	btDispatcher * c_arg_dispatcher=(btDispatcher *)(void*)(dispatcher);
	btBroadphaseInterface * c_arg_pairCache=(btBroadphaseInterface *)(void*)(pairCache);
	btMultiBodyConstraintSolver * c_arg_constraintSolver=(btMultiBodyConstraintSolver *)(void*)(constraintSolver);
	btCollisionConfiguration * c_arg_collisionConfiguration=(btCollisionConfiguration *)(void*)(collisionConfiguration);
	btMultiBodyDynamicsWorld* wrap_out = new btMultiBodyDynamicsWorld(c_arg_dispatcher,c_arg_pairCache,c_arg_constraintSolver,c_arg_collisionConfiguration);
	return wrap_out;
}

void bullet_btMultiBodyDynamicsWorld_buildIslands(btMultiBodyDynamicsWorld* c_this){
	c_this->buildIslands();
}

void bullet_btMultiBodyDynamicsWorld_forwardKinematics(btMultiBodyDynamicsWorld* c_this){
	c_this->forwardKinematics();
}

void bullet_btMultiBodyDynamicsWorld_integrateMultiBodyTransforms(btMultiBodyDynamicsWorld* c_this,double timeStep){
	btScalar c_arg_timeStep=timeStep;
	c_this->integrateMultiBodyTransforms(c_arg_timeStep);
}

void bullet_btMultiBodyDynamicsWorld_predictMultiBodyTransforms(btMultiBodyDynamicsWorld* c_this,double timeStep){
	btScalar c_arg_timeStep=timeStep;
	c_this->predictMultiBodyTransforms(c_arg_timeStep);
}

#ifdef __cplusplus
}
#endif
